1. Field of the Invention
The present invention relates generally to data transmission apparatuses, and more particularly, to data transmission apparatuses autonomously and selectively transmitting data supplied from a preceding stage. The data is supplied at an arbitrary time interval or data having a plurality of words to any of a plurality of parallel succeeding stage portions. Interface apparatus is used for controlling data transmission from a first apparatus to one or a plurality of second apparatuses, and to data transmission apparatuses for serially sending out data transmitted in parallel.
2. Description of the Background Art
In a processor such as an electronic computer, a plurality of processing units are coupled in communication by digital signals. A plurality of data processings are performed by a plurality of processing units in a distributed manner. In this case, the contents of the data processing in each of the processing units is different, and data required for each data processing and the obtained results are also different. In such a processor, if a plurality of processings requiring the data to be sent and received are coupled by interconnections for every processing and input/output ports are provided in the respective processing units, the hardware becomes very complicated and makes the apparatus large in scale, thereby increasing the cost for manufacturing the same.
The inventors of the present invention proposed, in Japanese Patent Laying Open No. 62-174857, a data transmission apparatus capable of transmitting different types of groups of data through the same data transmission path.
FIG. 1 is a schematic block diagram of the above described proposed data transmission apparatus.
First, referring to FIG. 1, a brief description will be made on a data transmission apparatus for transmitting data through two divided transmission paths.
In FIG. 1, each of data transmission paths 1, 7, and is comprised of a data register for holding data and a transfer control portion. An identifier transmission path 2 is provided in parallel with the data transmission path 1. The identifier transmission path 2 transmits an identifier called "tag". The identifier indicates to the data transmission path 7 or 8 whether the data transmitted to the data transmission path 1 should be sent.
When both of the data transmission paths 7 and 8 are empty to allow data transmission, UK signals 5a and 6a are supplied to control portions 5 and 6 from the data transmission paths 7 and 8, respectively. Similarly, UL signals 5d and 6d from data transmission paths (not shown) in stages subsequent to the data transmission paths 7 and 8 are supplied to the control portions 5 and 6, respectively. The UL signals 5d and 6d are supplied from arbitrary data transmission paths in the stages subsequent to the data transmission paths 7 and 8 and indicate that the data transmission paths in the succeeding stage are empty to allow the data transmission therethrough. Control portions 5 and 6, when the UK signal 5a, the UL 5d, the UK signal 6a and the UL signal 6d are respectively supplied, determine that the data transmission path 7 and the data transmission path in the succeeding stage, and the data transmission path 8 and the data transmission path in the succeeding stage are empty. Control portions 5 and 6, if they have held the data until that time, transfer the data to the data transmission paths in the succeeding stage and enter an enabling state which allows the control for branching the succeeding data.
An NOR gate 4, on receiving from the control portions and 6 determination signals 5b and 6b indicating that both of the control portions are empty and enabled, supplies an AK signal to the data transmission path 1 and the identifier transmission path 2.
As described, the UK signals and the UL signals from the data transmission paths 7 and 8 and the data transmission paths in the succeeding stages authorize or inhibit data transmission from the control portions 5 and 6 to the data transmission paths 7 and 8, and also authorize or inhibit data to be branched and transmitted from the data transmission path 1 to the control portion 5 or 6, depending on whether the succeeding stages are empty or not.
For example, an identifier indicating that the data transmitted to the data transmission path 1 is to be transmitted to the data transmission path 7 is supplied from the identifier transmission path 2 to an identifier decoding portion 3. The identifier decoding portion 3 decodes the identifier received from the identifier transmission path 2, supplies a control signal 5c to the control portion 5. As a result, this allows the data transmitted from the data transmission path 1 to be transmitted to the data transmission path 7 through the control portion 5.
On the contrary, when an identifier indicating that the data is to be transmitted to the data transmission path 8 is supplied from the identifier transmission path 2 to the identifier decoding portion 3, the identifier decoding portion 3 supplies a control signal 6c to the control portion 6 and enables the same. As a result, this allows the data transmitted to the data transmission path to be transmitted to the data transmission path 8 through the control portion 6.
If, out of the data transmission paths 7 and 8 and the data transmission paths in the succeeding stages, for example, the data transmission path 7 holds the data or is transmitting the data, the UK signal 5a is not supplied to the control portion 5. Similarly, when the data transmission path in the stage subsequent to the data transmission path 7 holds the data or is transmitting the same, the UL signal 5d is not supplied to the control portion 5. Therefore, the control portion 5 determines that the data transmission path 7 or the data transmission paths in the succeeding stage is transmitting the data or busy. As a result, the control portion 5 stores the data inputted in a register (not shown) included therein and supplies a signal of a "H" (logical high) level to one input terminal of the NOR gate 4. This causes the NOR gate 4 to be closed and consequently the AK signal is supplied neither to the data transmission path 1 nor to the identifier transmission path 2.
In the event any of the data transmission paths 7 and 8 and the data transmission paths in the succeeding stages holds the data or is transmitting the same and furthermore the control portions 5 and 6 hold the data, the data transmitted to the data transmission path 1 is inputted to neither of the control portions 5 and 6 but held in the data transmission path 1.
However, when the data transmission path 7 and the data transmission path in the succeeding stage or the data transmission path 8 and the data transmission path in the succeeding stage, and the control portion 5 or 6 finish transmitting the data to change from a busy state to a ready state, the control portion 5 or 6 is enabled. As a result, it is possible to autonomously branch the data held in the data transmission path 1 in accordance with the identifier again.
In the above described data transmission apparatus, the data supplied from the preceding stage can be sent to any one of a plurality of parallel units provided succeeding stage portions, the data supplied from the preceding stage portion can not be sent to all the plurality of parallel provided succeeding stage portions.
Secondly, in case the data to be transmitted comprises a plurality of words and an arbitrary word of the plurality of words includes an identifier for a branch destination, it is not possible to autonomously and selectively send out the data comprising the plurality of words to any of the plurality of parallel provided succeeding stage portions.
In addition, a handshaking type data transfer is known as data transmission in an information processor or the like. For example, data transmission from a first data transmission path to a second data transmission path in accordance with the handshaking type data transmission is performed as follows.
Transmission signals are supplied from the first data transmission path to the second data transmission path and transmission acknowledging signals are supplied from the second data transmission path to the first data transmission path. First, data is supplied from the first data transmission path to the second data transmission path, together with the transmission signals. The second data transmission path, in response to the transmission signals, makes the transmission acknowledging signals being inhibited in order to inhibit additional data sending for a fixed time period. After a lapse of the fixed time period, when the transmission acknowledging signals return to the authorized state, data transmission from the first data transmission path to the second data transmission path is again authorized. Thus, the handshaking type data transmission is performed in an information processor or between a plurality of information processors.
In case of the data transmission between a plurality of apparatuses, long signal lines for connecting the apparatuses cause delay in signal transmission. As a result, some time period is required until the first apparatus receives a signal inhibiting additional data sending after the data is supplied from the first apparatus to the second apparatus together with the transmission signals. Therefore, before the second apparatus finishes data transmission, additional data is sent out from the first apparatus to the second apparatus.
Furthermore, in case of the data transmission from one apparatus to a plurality of apparatuses, if interconnection paths connected between the apparatuses differ in length, every interconnection path differs in a signal delay time. Therefore, in order to adjust timing skews of signals in the plurality of interconnection paths, there is a need for providing a delay circuit comprising a gate element or a delay circuit comprising a resistor and a capacitance element on each path.
Since the interconnection paths between the apparatuses are always changed in accordance with an arrangement for a packing of a plurality of apparatuses, such skew adjustment as described above is required in accordance with a packing form of the plurality of apparatuses.
Time periods required for processing data in the respective plurality of processing units differ depending on received data and the contents of processing required of the processing units. In addition, groups of data processed in the respective processing units are not always transmitted in the same order and at the same time intervals. Therefore, there can occur stay of a group of data due to difference in processing time in each processing unit. If a transmission path itself can have a buffer function of decreasing such stay of the group of data to the utmost, it is possible to decrease the amount of hardware of the data processing apparatus.